#ifndef CONST_H

#define CONST_H 1

//Commands
#define CMD_AUTH	0
#define CMD_LS		1
#define CMD_CD		2
#define CMD_GET		3
#define CMD_PUT		4
#define CMD_PWD		5
#define CMD_HELP	6
#define CMD_BYE		7
#define CMD_CONN	8

//字符串缓冲
#define STR_BUF_SZ 1024
//主机名长度
#define HOSTNAME_LEN	255

//Authentication Command Format (1024 bytes)
//Client To Server
//command	state	username	password
//	[4]		 [4]	  [16]		 [1000]
#define AUTH_INFO_LEN	STR_BUF_SZ
//指令
#define CMD_LEN			4
//状态
#define STATE_LEN		4
//一次读取长度
#define SEND_LEN		3
//用户名
#define UNAME_LEN		16
//IPv4
#define IPV4_LEN		15
//Port
#define PORT_LEN		5
//密码
#define PASSWD_LEN		1000
//起始长度
#define START_LEN		10
//当前路径
#define PATH_LEN		255
//文件名长度
#define FNAME_LEN		255
//FTP服务根目录路径长度
#define ROOT_PATH_LEN	255
//相对路径长度
#define UFILE_PATH_LEN	ROOT_PATH_LEN
#define LOG_PATH_LEN	ROOT_PATH_LEN
//绝对路径长度
#define ABS_PATH_LEN	(ROOT_PATH_LEN + PATH_LEN)
//文件上载时头信息长度
#define HEADER_LEN		(CMD_LEN+STATE_LEN+START_LEN+SEND_LEN+FNAME_LEN)
//上载数据最大长度
#define UPLOAD_LEN		(STR_BUF_SZ-HEADER_LEN)
//日期格式长度
#define DATE_FORMAT_LEN	25
//权限数量
#define PRIV_NUM		7

//Server To Client
//command	state	privileges
//	[4]		 [4]	  [100]
//权限
#define PRIV_CMD_LEN	100

#endif
